<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
<script>
/*var pet=function(){
    function showpet(){
       alert("123")
    }
    showpet();//私有方法可以在函数作用域范围内使用。
    var temp="私有变量只有在函数或者对象作用域范围内能访问";
}
showpet();//会出错
pet.showpet();//还是不能这样调用

var Penguin=new pet(); //实例化一个pet对象
Penguin.showpet();//不好意思这样子还是不能让你调用。*/

//-------------------------------------------------------------

/*全局变量*/
name = "xuxuan";

var pet=function(){
    /*私有属性*/
    var name = "xxx";
    /*特权属性*/
    this.name = "xx";
    /*私有方法*/
    function showname(){  
        console.log("2 "+this.name); //这里的this->window  'xuxuan'
        // console.log("3 "+name);  //'xxx'
    }
    /*特权方法*/
    this.show=function(){
        console.log("1 "+this.name); //这里的this->pet  'xx'
        showname();
        // console.log("4 "+name); //'xxx'
    }
}

pet.prototype.setnamePet=function(str){ //共有方法,可以访问特权成员 
    this.name=str;   //这里的name->特权属性name
}

pet.prototype.setnameGlobal=function(str){ //共有方法
    name=str;   //这里的name->全局变量name
}

var Penguin=new pet();
console.log(Penguin.name); //xx
Penguin.show();   //xx xuxuan

Penguin.setnamePet("Penguin1");
Penguin.show();   //Penguin1 xuxuan               
Penguin.setnamePet("wind1");
Penguin.show();   //wind1 xuxuan                 

Penguin.setnameGlobal("Penguin2");
Penguin.show();   //wind1 Penguin2                
Penguin.setnameGlobal("wind2");
Penguin.show();   //wind1 wind2   

</script>
</body>
</html>